#include <string>
using namespace std;
#include "Guest.h"

class Restaurant {
public:

	//Default Constructor
	Restaurant();

	//Destructor
	~Restaurant();

	//Copy Constructor
	Restaurant(const Restaurant& r);

	//Assignment operator
	const Restaurant& Restaurant::operator=(const Restaurant& r);
	
	const void addGuest (const string des,const string mc,const string fc,const string bev,const bool hasord);
	const void removeGuest(const int id);
	const void setGuest(const int id, const string setString,const int whatToSet);
	const void getGuest(const int id,const int whatToGet);
	
	const bool checkGuestExistence(const int id);
	const bool checkOrderExistence(const int id);
	
	const void removeOrder(const int guestId);
	const void addOrder(const int guestId, const string d, const string b, const string m, const string f);

private:
	const int getGuestByNumber(const int guestNum)const;
	Guest* guests ;
    int numOfGuests;
	const void removeGuestAndReorder(const int id);
	const void copyAndEnlarge(int enlargeTo,int sizeOfPreviousArray);
	int firstIndexToInsertTo;
	int maximumCapacity;
	int enlargeTo;
};